<--- %%NOBANNER%% --> scheduler.sas
 BackForward
/*data sasuser.jobs ;*/
/*length location $ 200 start end 8 rc 4 msg $ 200 ;*/
/*format start end datetime. ;*/
/*input location ;*/
/*put location= ;*/
/*return ;*/
/*cards;*/
/*c:\temp\prog1.sas*/
/*c:\temp\prog2.sas*/
/*;;;;*/
/*run;*/
%macro scheduler ;
data sasuser.results ;
   format start end datetime. ;
   set sasuser.jobs ;
run ;
%let dsid=%sysfunc(open(sasuser.jobs,i)) ;
%syscall set(dsid) ;
%let n=0 ;
%do %while(%sysfunc(fetch(&dsid))=0) ;
   %let n=%eval(&n+1) ;
   %let start=%sysfunc(datetime()) ;
   %include "&location" ;
   %let end=%sysfunc(datetime()) ;
   data sasuser.results ;
      set sasuser.results ;
      if _n_=&n then do ;
	      start=&start ;
	      end=&end ;
	      rc=symget('sysrc') ; *may not be best source of rc;
	      msg=symget('sysmsg') ;
      end ;
   run ;
%end ;
%let dsid=%sysfunc(close(&dsid)) ;
%mend scheduler ;